The present invention relates to a sound source system that combines music tone waveform generating modules made of software, and that generates music tone waveform data based on music tone waveform generating computation performed by each music tone waveform generating module. In addition, the present invention relates to a sound source waveform generating method that uses a general-purpose computation processing machine for executing a waveform computation algorithm so as to generate tone waveform data.
Conventionally, in order to generate a music tone according to a variety of music tone generating methods such as a waveform memory tone generating method and an FM tone generating method, a circuit for implementing the music tone generating method is constituted by dedicated hardware such as an LSI specifically designed for a sound source and a digital signal processor (DSP) that operates under the control of a fixed microprogram. The music tone generator constituted by the dedicated hardware is generically referred to as a hardware sound source hereafter. However, the hardware sound source requires dedicated hardware components, hence reduction of the product cost is difficult. It is also difficult for the hardware sound source to flexibly modify its specifications once the design has been completed.
Recently, as the computational performance of CPU has been enhancing, tone generators have been developed in which a general-purpose computer or a CPU installed on a dedicated tone generator executes software programs written with predetermined tone generation processing procedures to generate music tone waveform data. The tone generator based on the software programs is generically referred to as a software sound source hereafter.
Use of the hardware sound source in a computer system or a computer-based system presents problems of increasing the cost and decreasing the flexibility of modification. Meanwhile, the conventional software sound sources simply replace the capabilities of the dedicated hardware devices such as the conventional tone generating LSI. The software sound source is more flexible in modification of the specifications after completion of design than the hardware sound source. However, the conventional software sound source cannot satisfy a variety of practical demands occurring during vocalization or during operation of the sound source. These demands come from CPU performance, system environment, user preferences and user settings. To be more specific, the conventional software sound sources cannot satisfy the demands for changing fidelity of an outputted music tone waveform (not only the change to higher fidelity but also to lower fidelity) and demands for changing the degree of timbre variation (for example, change from normal timbre variation to subtle timbre variation or vice versa).
Recently, an attempt has been made to generate tone waveform data by operating a general-purpose processor such as a personal computer to run software programs and to convert the generated digital tone waveform data through a CODEC (coder-decoder) into an analog music tone signal for vocalization. The sound source that generates the tone waveform data by such a manner is referred to as the software sound source as mentioned before. Otherwise, the tone waveform data may be generated by an LSI dedicated to tone generation or by a device dedicated to tone generation having a digital signal processor (DSP) executing a microprogram. The sound source based on this scheme is referred to as the hardware sound source as mentioned before.
Generally, a personal computer runs a plurality of application software programs in parallel. Sometimes, a karaoke application program or a game application program is executed concurrently with a software sound source application program. This situation, however, increases a work load imposed on the CPU (Central Processing Unit) in the personal computer. Such an over load delays the generation of tone waveform data by the software sound source, thereby interrupting the vocalization of a music tone in the worst case. When the CPU is operating in the multitask mode, the above-mentioned concurrent processing may cause the tasks other than the tone generation task into a wait state.
In the hardware sound source, a waveform computation algorithm is executed by the DSP or the like to generate tone waveform data. The performance of the DSP for executing the computation has been enhanced every year, but the conventional tone waveform data generating method cannot make the most of the enhanced performance of the DSP.